using Google.ProtocolBuffers;
using micromsg.Proto;
using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.IO;
using System.Runtime.CompilerServices;
namespace micromsg
{
	[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
	public sealed class RegResponse : GeneratedMessageLite<RegResponse, RegResponse.Builder>
	{
		[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
		public sealed class Builder : GeneratedBuilderLite<RegResponse, RegResponse.Builder>
		{
			private bool resultIsReadOnly;
			private RegResponse result;
			protected override RegResponse.Builder ThisBuilder
			{
				get
				{
					return this;
				}
			}
			public override bool IsInitialized
			{
				get
				{
					return this.result.IsInitialized;
				}
			}
			protected override RegResponse MessageBeingBuilt
			{
				get
				{
					return this.PrepareBuilder();
				}
			}
			public override RegResponse DefaultInstanceForType
			{
				get
				{
					return RegResponse.DefaultInstance;
				}
			}
			public BaseResponse BaseResponse
			{
				get
				{
					return this.result.BaseResponse;
				}
				set
				{
					this.SetBaseResponse(value);
				}
			}
			public uint Uin
			{
				get
				{
					return this.result.Uin;
				}
				set
				{
					this.SetUin(value);
				}
			}
			public ByteString SessionKey
			{
				get
				{
					return this.result.SessionKey;
				}
				set
				{
					this.SetSessionKey(value);
				}
			}
			public SKBuiltinString_t ImgSid
			{
				get
				{
					return this.result.ImgSid;
				}
				set
				{
					this.SetImgSid(value);
				}
			}
			public SKBuiltinBuffer_t ImgBuf
			{
				get
				{
					return this.result.ImgBuf;
				}
				set
				{
					this.SetImgBuf(value);
				}
			}
			public SKBuiltinString_t Ticket
			{
				get
				{
					return this.result.Ticket;
				}
				set
				{
					this.SetTicket(value);
				}
			}
			public SKBuiltinString_t SpareUserName
			{
				get
				{
					return this.result.SpareUserName;
				}
				set
				{
					this.SetSpareUserName(value);
				}
			}
			public SKBuiltinString_t OfficialUserName
			{
				get
				{
					return this.result.OfficialUserName;
				}
				set
				{
					this.SetOfficialUserName(value);
				}
			}
			public SKBuiltinString_t OfficialNickName
			{
				get
				{
					return this.result.OfficialNickName;
				}
				set
				{
					this.SetOfficialNickName(value);
				}
			}
			public SKBuiltinString_t QQMicroBlogUserName
			{
				get
				{
					return this.result.QQMicroBlogUserName;
				}
				set
				{
					this.SetQQMicroBlogUserName(value);
				}
			}
			public uint PushMailStatus
			{
				get
				{
					return this.result.PushMailStatus;
				}
				set
				{
					this.SetPushMailStatus(value);
				}
			}
			public uint SendCardBitFlag
			{
				get
				{
					return this.result.SendCardBitFlag;
				}
				set
				{
					this.SetSendCardBitFlag(value);
				}
			}
			public string PushMailSettingTicket
			{
				get
				{
					return this.result.PushMailSettingTicket;
				}
				set
				{
					this.SetPushMailSettingTicket(value);
				}
			}
			public BuiltinIPList BuiltinIPList
			{
				get
				{
					return this.result.BuiltinIPList;
				}
				set
				{
					this.SetBuiltinIPList(value);
				}
			}
			public string FSURL
			{
				get
				{
					return this.result.FSURL;
				}
				set
				{
					this.SetFSURL(value);
				}
			}
			public NetworkControl NetworkControl
			{
				get
				{
					return this.result.NetworkControl;
				}
				set
				{
					this.SetNetworkControl(value);
				}
			}
			public Builder()
			{
				this.result = RegResponse.DefaultInstance;
				this.resultIsReadOnly = true;
			}
			internal Builder(RegResponse cloneFrom)
			{
				this.result = cloneFrom;
				this.resultIsReadOnly = true;
			}
			private RegResponse PrepareBuilder()
			{
				if (this.resultIsReadOnly)
				{
					RegResponse other = this.result;
					this.result = new RegResponse();
					this.resultIsReadOnly = false;
					this.MergeFrom(other);
				}
				return this.result;
			}
			public override RegResponse.Builder Clear()
			{
				this.result = RegResponse.DefaultInstance;
				this.resultIsReadOnly = true;
				return this;
			}
			public override RegResponse.Builder Clone()
			{
				if (this.resultIsReadOnly)
				{
					return new RegResponse.Builder(this.result);
				}
				return new RegResponse.Builder().MergeFrom(this.result);
			}
			public override RegResponse BuildPartial()
			{
				if (this.resultIsReadOnly)
				{
					return this.result;
				}
				this.resultIsReadOnly = true;
				return this.result.MakeReadOnly();
			}
			public override RegResponse.Builder MergeFrom(IMessageLite other)
			{
				if (other is RegResponse)
				{
					return this.MergeFrom((RegResponse)other);
				}
				base.MergeFrom(other);
				return this;
			}
			public override RegResponse.Builder MergeFrom(RegResponse other)
			{
				return this;
			}
			public override RegResponse.Builder MergeFrom(ICodedInputStream input)
			{
				return this.MergeFrom(input, ExtensionRegistry.Empty);
			}
			public override RegResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
			{
				this.PrepareBuilder();
				uint num;
				string text;
				while (input.ReadTag(out num, out text))
				{
					if (num == 0u && text != null)
					{
						int num2 = Array.BinarySearch<string>(RegResponse._regResponseFieldNames, text, StringComparer.get_Ordinal());
						if (num2 < 0)
						{
							this.ParseUnknownField(input, extensionRegistry, num, text);
							continue;
						}
						num = RegResponse._regResponseFieldTags[num2];
					}
					uint num3 = num;
					if (num3 <= 58u)
					{
						if (num3 <= 26u)
						{
							if (num3 <= 10u)
							{
								if (num3 == 0u)
								{
									throw InvalidProtocolBufferException.InvalidTag();
								}
								if (num3 == 10u)
								{
									BaseResponse.Builder builder = BaseResponse.CreateBuilder();
									if (this.result.hasBaseResponse)
									{
										builder.MergeFrom(this.BaseResponse);
									}
									input.ReadMessage(builder, extensionRegistry);
									this.BaseResponse = builder.BuildPartial();
									continue;
								}
							}
							else
							{
								if (num3 == 16u)
								{
									this.result.hasUin = input.ReadUInt32(ref this.result.uin_);
									continue;
								}
								if (num3 == 26u)
								{
									this.result.hasSessionKey = input.ReadBytes(ref this.result.sessionKey_);
									continue;
								}
							}
						}
						else
						{
							if (num3 <= 42u)
							{
								if (num3 == 34u)
								{
									SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasImgSid)
									{
										builder2.MergeFrom(this.ImgSid);
									}
									input.ReadMessage(builder2, extensionRegistry);
									this.ImgSid = builder2.BuildPartial();
									continue;
								}
								if (num3 == 42u)
								{
									SKBuiltinBuffer_t.Builder builder3 = SKBuiltinBuffer_t.CreateBuilder();
									if (this.result.hasImgBuf)
									{
										builder3.MergeFrom(this.ImgBuf);
									}
									input.ReadMessage(builder3, extensionRegistry);
									this.ImgBuf = builder3.BuildPartial();
									continue;
								}
							}
							else
							{
								if (num3 == 50u)
								{
									SKBuiltinString_t.Builder builder4 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasTicket)
									{
										builder4.MergeFrom(this.Ticket);
									}
									input.ReadMessage(builder4, extensionRegistry);
									this.Ticket = builder4.BuildPartial();
									continue;
								}
								if (num3 == 58u)
								{
									SKBuiltinString_t.Builder builder5 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasSpareUserName)
									{
										builder5.MergeFrom(this.SpareUserName);
									}
									input.ReadMessage(builder5, extensionRegistry);
									this.SpareUserName = builder5.BuildPartial();
									continue;
								}
							}
						}
					}
					else
					{
						if (num3 <= 88u)
						{
							if (num3 <= 74u)
							{
								if (num3 == 66u)
								{
									SKBuiltinString_t.Builder builder6 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasOfficialUserName)
									{
										builder6.MergeFrom(this.OfficialUserName);
									}
									input.ReadMessage(builder6, extensionRegistry);
									this.OfficialUserName = builder6.BuildPartial();
									continue;
								}
								if (num3 == 74u)
								{
									SKBuiltinString_t.Builder builder7 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasOfficialNickName)
									{
										builder7.MergeFrom(this.OfficialNickName);
									}
									input.ReadMessage(builder7, extensionRegistry);
									this.OfficialNickName = builder7.BuildPartial();
									continue;
								}
							}
							else
							{
								if (num3 == 82u)
								{
									SKBuiltinString_t.Builder builder8 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasQQMicroBlogUserName)
									{
										builder8.MergeFrom(this.QQMicroBlogUserName);
									}
									input.ReadMessage(builder8, extensionRegistry);
									this.QQMicroBlogUserName = builder8.BuildPartial();
									continue;
								}
								if (num3 == 88u)
								{
									this.result.hasPushMailStatus = input.ReadUInt32(ref this.result.pushMailStatus_);
									continue;
								}
							}
						}
						else
						{
							if (num3 <= 106u)
							{
								if (num3 == 96u)
								{
									this.result.hasSendCardBitFlag = input.ReadUInt32(ref this.result.sendCardBitFlag_);
									continue;
								}
								if (num3 == 106u)
								{
									this.result.hasPushMailSettingTicket = input.ReadString(ref this.result.pushMailSettingTicket_);
									continue;
								}
							}
							else
							{
								if (num3 == 114u)
								{
									BuiltinIPList.Builder builder9 = BuiltinIPList.CreateBuilder();
									if (this.result.hasBuiltinIPList)
									{
										builder9.MergeFrom(this.BuiltinIPList);
									}
									input.ReadMessage(builder9, extensionRegistry);
									this.BuiltinIPList = builder9.BuildPartial();
									continue;
								}
								if (num3 == 122u)
								{
									this.result.hasFSURL = input.ReadString(ref this.result.fSURL_);
									continue;
								}
								if (num3 == 130u)
								{
									NetworkControl.Builder builder10 = NetworkControl.CreateBuilder();
									if (this.result.hasNetworkControl)
									{
										builder10.MergeFrom(this.NetworkControl);
									}
									input.ReadMessage(builder10, extensionRegistry);
									this.NetworkControl = builder10.BuildPartial();
									continue;
								}
							}
						}
					}
					if (WireFormat.IsEndGroupTag(num))
					{
						return this;
					}
					this.ParseUnknownField(input, extensionRegistry, num, text);
				}
				return this;
			}
			public RegResponse.Builder SetBaseResponse(BaseResponse value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBaseResponse = true;
				this.result.baseResponse_ = value;
				return this;
			}
			public RegResponse.Builder SetBaseResponse(BaseResponse.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasBaseResponse = true;
				this.result.baseResponse_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeBaseResponse(BaseResponse value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasBaseResponse && this.result.baseResponse_ != BaseResponse.DefaultInstance)
				{
					this.result.baseResponse_ = BaseResponse.CreateBuilder(this.result.baseResponse_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.baseResponse_ = value;
				}
				this.result.hasBaseResponse = true;
				return this;
			}
			public RegResponse.Builder ClearBaseResponse()
			{
				this.PrepareBuilder();
				this.result.hasBaseResponse = false;
				this.result.baseResponse_ = null;
				return this;
			}
			public RegResponse.Builder SetUin(uint value)
			{
				this.PrepareBuilder();
				this.result.hasUin = true;
				this.result.uin_ = value;
				return this;
			}
			public RegResponse.Builder ClearUin()
			{
				this.PrepareBuilder();
				this.result.hasUin = false;
				this.result.uin_ = 0u;
				return this;
			}
			public RegResponse.Builder SetSessionKey(ByteString value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasSessionKey = true;
				this.result.sessionKey_ = value;
				return this;
			}
			public RegResponse.Builder ClearSessionKey()
			{
				this.PrepareBuilder();
				this.result.hasSessionKey = false;
				this.result.sessionKey_ = ByteString.Empty;
				return this;
			}
			public RegResponse.Builder SetImgSid(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasImgSid = true;
				this.result.imgSid_ = value;
				return this;
			}
			public RegResponse.Builder SetImgSid(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasImgSid = true;
				this.result.imgSid_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeImgSid(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasImgSid && this.result.imgSid_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.imgSid_ = SKBuiltinString_t.CreateBuilder(this.result.imgSid_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.imgSid_ = value;
				}
				this.result.hasImgSid = true;
				return this;
			}
			public RegResponse.Builder ClearImgSid()
			{
				this.PrepareBuilder();
				this.result.hasImgSid = false;
				this.result.imgSid_ = null;
				return this;
			}
			public RegResponse.Builder SetImgBuf(SKBuiltinBuffer_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasImgBuf = true;
				this.result.imgBuf_ = value;
				return this;
			}
			public RegResponse.Builder SetImgBuf(SKBuiltinBuffer_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasImgBuf = true;
				this.result.imgBuf_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeImgBuf(SKBuiltinBuffer_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasImgBuf && this.result.imgBuf_ != SKBuiltinBuffer_t.DefaultInstance)
				{
					this.result.imgBuf_ = SKBuiltinBuffer_t.CreateBuilder(this.result.imgBuf_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.imgBuf_ = value;
				}
				this.result.hasImgBuf = true;
				return this;
			}
			public RegResponse.Builder ClearImgBuf()
			{
				this.PrepareBuilder();
				this.result.hasImgBuf = false;
				this.result.imgBuf_ = null;
				return this;
			}
			public RegResponse.Builder SetTicket(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasTicket = true;
				this.result.ticket_ = value;
				return this;
			}
			public RegResponse.Builder SetTicket(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasTicket = true;
				this.result.ticket_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeTicket(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasTicket && this.result.ticket_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.ticket_ = SKBuiltinString_t.CreateBuilder(this.result.ticket_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.ticket_ = value;
				}
				this.result.hasTicket = true;
				return this;
			}
			public RegResponse.Builder ClearTicket()
			{
				this.PrepareBuilder();
				this.result.hasTicket = false;
				this.result.ticket_ = null;
				return this;
			}
			public RegResponse.Builder SetSpareUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasSpareUserName = true;
				this.result.spareUserName_ = value;
				return this;
			}
			public RegResponse.Builder SetSpareUserName(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasSpareUserName = true;
				this.result.spareUserName_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeSpareUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasSpareUserName && this.result.spareUserName_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.spareUserName_ = SKBuiltinString_t.CreateBuilder(this.result.spareUserName_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.spareUserName_ = value;
				}
				this.result.hasSpareUserName = true;
				return this;
			}
			public RegResponse.Builder ClearSpareUserName()
			{
				this.PrepareBuilder();
				this.result.hasSpareUserName = false;
				this.result.spareUserName_ = null;
				return this;
			}
			public RegResponse.Builder SetOfficialUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasOfficialUserName = true;
				this.result.officialUserName_ = value;
				return this;
			}
			public RegResponse.Builder SetOfficialUserName(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasOfficialUserName = true;
				this.result.officialUserName_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeOfficialUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasOfficialUserName && this.result.officialUserName_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.officialUserName_ = SKBuiltinString_t.CreateBuilder(this.result.officialUserName_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.officialUserName_ = value;
				}
				this.result.hasOfficialUserName = true;
				return this;
			}
			public RegResponse.Builder ClearOfficialUserName()
			{
				this.PrepareBuilder();
				this.result.hasOfficialUserName = false;
				this.result.officialUserName_ = null;
				return this;
			}
			public RegResponse.Builder SetOfficialNickName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasOfficialNickName = true;
				this.result.officialNickName_ = value;
				return this;
			}
			public RegResponse.Builder SetOfficialNickName(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasOfficialNickName = true;
				this.result.officialNickName_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeOfficialNickName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasOfficialNickName && this.result.officialNickName_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.officialNickName_ = SKBuiltinString_t.CreateBuilder(this.result.officialNickName_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.officialNickName_ = value;
				}
				this.result.hasOfficialNickName = true;
				return this;
			}
			public RegResponse.Builder ClearOfficialNickName()
			{
				this.PrepareBuilder();
				this.result.hasOfficialNickName = false;
				this.result.officialNickName_ = null;
				return this;
			}
			public RegResponse.Builder SetQQMicroBlogUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasQQMicroBlogUserName = true;
				this.result.qQMicroBlogUserName_ = value;
				return this;
			}
			public RegResponse.Builder SetQQMicroBlogUserName(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasQQMicroBlogUserName = true;
				this.result.qQMicroBlogUserName_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeQQMicroBlogUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasQQMicroBlogUserName && this.result.qQMicroBlogUserName_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.qQMicroBlogUserName_ = SKBuiltinString_t.CreateBuilder(this.result.qQMicroBlogUserName_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.qQMicroBlogUserName_ = value;
				}
				this.result.hasQQMicroBlogUserName = true;
				return this;
			}
			public RegResponse.Builder ClearQQMicroBlogUserName()
			{
				this.PrepareBuilder();
				this.result.hasQQMicroBlogUserName = false;
				this.result.qQMicroBlogUserName_ = null;
				return this;
			}
			public RegResponse.Builder SetPushMailStatus(uint value)
			{
				this.PrepareBuilder();
				this.result.hasPushMailStatus = true;
				this.result.pushMailStatus_ = value;
				return this;
			}
			public RegResponse.Builder ClearPushMailStatus()
			{
				this.PrepareBuilder();
				this.result.hasPushMailStatus = false;
				this.result.pushMailStatus_ = 0u;
				return this;
			}
			public RegResponse.Builder SetSendCardBitFlag(uint value)
			{
				this.PrepareBuilder();
				this.result.hasSendCardBitFlag = true;
				this.result.sendCardBitFlag_ = value;
				return this;
			}
			public RegResponse.Builder ClearSendCardBitFlag()
			{
				this.PrepareBuilder();
				this.result.hasSendCardBitFlag = false;
				this.result.sendCardBitFlag_ = 0u;
				return this;
			}
			public RegResponse.Builder SetPushMailSettingTicket(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasPushMailSettingTicket = true;
				this.result.pushMailSettingTicket_ = value;
				return this;
			}
			public RegResponse.Builder ClearPushMailSettingTicket()
			{
				this.PrepareBuilder();
				this.result.hasPushMailSettingTicket = false;
				this.result.pushMailSettingTicket_ = "";
				return this;
			}
			public RegResponse.Builder SetBuiltinIPList(BuiltinIPList value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBuiltinIPList = true;
				this.result.builtinIPList_ = value;
				return this;
			}
			public RegResponse.Builder SetBuiltinIPList(BuiltinIPList.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasBuiltinIPList = true;
				this.result.builtinIPList_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeBuiltinIPList(BuiltinIPList value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasBuiltinIPList && this.result.builtinIPList_ != BuiltinIPList.DefaultInstance)
				{
					this.result.builtinIPList_ = BuiltinIPList.CreateBuilder(this.result.builtinIPList_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.builtinIPList_ = value;
				}
				this.result.hasBuiltinIPList = true;
				return this;
			}
			public RegResponse.Builder ClearBuiltinIPList()
			{
				this.PrepareBuilder();
				this.result.hasBuiltinIPList = false;
				this.result.builtinIPList_ = null;
				return this;
			}
			public RegResponse.Builder SetFSURL(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasFSURL = true;
				this.result.fSURL_ = value;
				return this;
			}
			public RegResponse.Builder ClearFSURL()
			{
				this.PrepareBuilder();
				this.result.hasFSURL = false;
				this.result.fSURL_ = "";
				return this;
			}
			public RegResponse.Builder SetNetworkControl(NetworkControl value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasNetworkControl = true;
				this.result.networkControl_ = value;
				return this;
			}
			public RegResponse.Builder SetNetworkControl(NetworkControl.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasNetworkControl = true;
				this.result.networkControl_ = builderForValue.Build();
				return this;
			}
			public RegResponse.Builder MergeNetworkControl(NetworkControl value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasNetworkControl && this.result.networkControl_ != NetworkControl.DefaultInstance)
				{
					this.result.networkControl_ = NetworkControl.CreateBuilder(this.result.networkControl_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.networkControl_ = value;
				}
				this.result.hasNetworkControl = true;
				return this;
			}
			public RegResponse.Builder ClearNetworkControl()
			{
				this.PrepareBuilder();
				this.result.hasNetworkControl = false;
				this.result.networkControl_ = null;
				return this;
			}
		}
		public const int BaseResponseFieldNumber = 1;
		public const int UinFieldNumber = 2;
		public const int SessionKeyFieldNumber = 3;
		public const int ImgSidFieldNumber = 4;
		public const int ImgBufFieldNumber = 5;
		public const int TicketFieldNumber = 6;
		public const int SpareUserNameFieldNumber = 7;
		public const int OfficialUserNameFieldNumber = 8;
		public const int OfficialNickNameFieldNumber = 9;
		public const int QQMicroBlogUserNameFieldNumber = 10;
		public const int PushMailStatusFieldNumber = 11;
		public const int SendCardBitFlagFieldNumber = 12;
		public const int PushMailSettingTicketFieldNumber = 13;
		public const int BuiltinIPListFieldNumber = 14;
		public const int FSURLFieldNumber = 15;
		public const int NetworkControlFieldNumber = 16;
		private static readonly RegResponse defaultInstance;
		private static readonly string[] _regResponseFieldNames;
		private static readonly uint[] _regResponseFieldTags;
		private bool hasBaseResponse;
		private BaseResponse baseResponse_;
		private bool hasUin;
		private uint uin_;
		private bool hasSessionKey;
		private ByteString sessionKey_ = ByteString.Empty;
		private bool hasImgSid;
		private SKBuiltinString_t imgSid_;
		private bool hasImgBuf;
		private SKBuiltinBuffer_t imgBuf_;
		private bool hasTicket;
		private SKBuiltinString_t ticket_;
		private bool hasSpareUserName;
		private SKBuiltinString_t spareUserName_;
		private bool hasOfficialUserName;
		private SKBuiltinString_t officialUserName_;
		private bool hasOfficialNickName;
		private SKBuiltinString_t officialNickName_;
		private bool hasQQMicroBlogUserName;
		private SKBuiltinString_t qQMicroBlogUserName_;
		private bool hasPushMailStatus;
		private uint pushMailStatus_;
		private bool hasSendCardBitFlag;
		private uint sendCardBitFlag_;
		private bool hasPushMailSettingTicket;
		private string pushMailSettingTicket_ = "";
		private bool hasBuiltinIPList;
		private BuiltinIPList builtinIPList_;
		private bool hasFSURL;
		private string fSURL_ = "";
		private bool hasNetworkControl;
		private NetworkControl networkControl_;
		private int memoizedSerializedSize = -1;
		public static RegResponse DefaultInstance
		{
			get
			{
				return RegResponse.defaultInstance;
			}
		}
		public override RegResponse DefaultInstanceForType
		{
			get
			{
				return RegResponse.DefaultInstance;
			}
		}
		protected override RegResponse ThisMessage
		{
			get
			{
				return this;
			}
		}
		public BaseResponse BaseResponse
		{
			get
			{
				return this.baseResponse_ ?? BaseResponse.DefaultInstance;
			}
		}
		public uint Uin
		{
			get
			{
				return this.uin_;
			}
		}
		public ByteString SessionKey
		{
			get
			{
				return this.sessionKey_;
			}
		}
		public SKBuiltinString_t ImgSid
		{
			get
			{
				return this.imgSid_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinBuffer_t ImgBuf
		{
			get
			{
				return this.imgBuf_ ?? SKBuiltinBuffer_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t Ticket
		{
			get
			{
				return this.ticket_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t SpareUserName
		{
			get
			{
				return this.spareUserName_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t OfficialUserName
		{
			get
			{
				return this.officialUserName_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t OfficialNickName
		{
			get
			{
				return this.officialNickName_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t QQMicroBlogUserName
		{
			get
			{
				return this.qQMicroBlogUserName_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public uint PushMailStatus
		{
			get
			{
				return this.pushMailStatus_;
			}
		}
		public uint SendCardBitFlag
		{
			get
			{
				return this.sendCardBitFlag_;
			}
		}
		public string PushMailSettingTicket
		{
			get
			{
				return this.pushMailSettingTicket_;
			}
		}
		public BuiltinIPList BuiltinIPList
		{
			get
			{
				return this.builtinIPList_ ?? BuiltinIPList.DefaultInstance;
			}
		}
		public string FSURL
		{
			get
			{
				return this.fSURL_;
			}
		}
		public NetworkControl NetworkControl
		{
			get
			{
				return this.networkControl_ ?? NetworkControl.DefaultInstance;
			}
		}
		public override bool IsInitialized
		{
			get
			{
				return this.hasBaseResponse && this.hasUin && this.hasSessionKey && this.hasImgSid && this.hasImgBuf && this.hasTicket && this.hasSpareUserName && this.hasOfficialUserName && this.hasOfficialNickName && this.BaseResponse.IsInitialized && this.ImgBuf.IsInitialized;
			}
		}
		public override int SerializedSize
		{
			get
			{
				int num = this.memoizedSerializedSize;
				if (num != -1)
				{
					return num;
				}
				num = 0;
				if (this.hasBaseResponse)
				{
					num += CodedOutputStream.ComputeMessageSize(1, this.BaseResponse);
				}
				if (this.hasUin)
				{
					num += CodedOutputStream.ComputeUInt32Size(2, this.Uin);
				}
				if (this.hasSessionKey)
				{
					num += CodedOutputStream.ComputeBytesSize(3, this.SessionKey);
				}
				if (this.hasImgSid)
				{
					num += CodedOutputStream.ComputeMessageSize(4, this.ImgSid);
				}
				if (this.hasImgBuf)
				{
					num += CodedOutputStream.ComputeMessageSize(5, this.ImgBuf);
				}
				if (this.hasTicket)
				{
					num += CodedOutputStream.ComputeMessageSize(6, this.Ticket);
				}
				if (this.hasSpareUserName)
				{
					num += CodedOutputStream.ComputeMessageSize(7, this.SpareUserName);
				}
				if (this.hasOfficialUserName)
				{
					num += CodedOutputStream.ComputeMessageSize(8, this.OfficialUserName);
				}
				if (this.hasOfficialNickName)
				{
					num += CodedOutputStream.ComputeMessageSize(9, this.OfficialNickName);
				}
				if (this.hasQQMicroBlogUserName)
				{
					num += CodedOutputStream.ComputeMessageSize(10, this.QQMicroBlogUserName);
				}
				if (this.hasPushMailStatus)
				{
					num += CodedOutputStream.ComputeUInt32Size(11, this.PushMailStatus);
				}
				if (this.hasSendCardBitFlag)
				{
					num += CodedOutputStream.ComputeUInt32Size(12, this.SendCardBitFlag);
				}
				if (this.hasPushMailSettingTicket)
				{
					num += CodedOutputStream.ComputeStringSize(13, this.PushMailSettingTicket);
				}
				if (this.hasBuiltinIPList)
				{
					num += CodedOutputStream.ComputeMessageSize(14, this.BuiltinIPList);
				}
				if (this.hasFSURL)
				{
					num += CodedOutputStream.ComputeStringSize(15, this.FSURL);
				}
				if (this.hasNetworkControl)
				{
					num += CodedOutputStream.ComputeMessageSize(16, this.NetworkControl);
				}
				this.memoizedSerializedSize = num;
				return num;
			}
		}
		private RegResponse()
		{
		}
		public override void WriteTo(ICodedOutputStream output)
		{
			int arg_06_0 = this.SerializedSize;
			string[] regResponseFieldNames = RegResponse._regResponseFieldNames;
			if (this.hasBaseResponse)
			{
				output.WriteMessage(1, regResponseFieldNames[0], this.BaseResponse);
			}
			if (this.hasUin)
			{
				output.WriteUInt32(2, regResponseFieldNames[15], this.Uin);
			}
			if (this.hasSessionKey)
			{
				output.WriteBytes(3, regResponseFieldNames[12], this.SessionKey);
			}
			if (this.hasImgSid)
			{
				output.WriteMessage(4, regResponseFieldNames[4], this.ImgSid);
			}
			if (this.hasImgBuf)
			{
				output.WriteMessage(5, regResponseFieldNames[3], this.ImgBuf);
			}
			if (this.hasTicket)
			{
				output.WriteMessage(6, regResponseFieldNames[14], this.Ticket);
			}
			if (this.hasSpareUserName)
			{
				output.WriteMessage(7, regResponseFieldNames[13], this.SpareUserName);
			}
			if (this.hasOfficialUserName)
			{
				output.WriteMessage(8, regResponseFieldNames[7], this.OfficialUserName);
			}
			if (this.hasOfficialNickName)
			{
				output.WriteMessage(9, regResponseFieldNames[6], this.OfficialNickName);
			}
			if (this.hasQQMicroBlogUserName)
			{
				output.WriteMessage(10, regResponseFieldNames[10], this.QQMicroBlogUserName);
			}
			if (this.hasPushMailStatus)
			{
				output.WriteUInt32(11, regResponseFieldNames[9], this.PushMailStatus);
			}
			if (this.hasSendCardBitFlag)
			{
				output.WriteUInt32(12, regResponseFieldNames[11], this.SendCardBitFlag);
			}
			if (this.hasPushMailSettingTicket)
			{
				output.WriteString(13, regResponseFieldNames[8], this.PushMailSettingTicket);
			}
			if (this.hasBuiltinIPList)
			{
				output.WriteMessage(14, regResponseFieldNames[1], this.BuiltinIPList);
			}
			if (this.hasFSURL)
			{
				output.WriteString(15, regResponseFieldNames[2], this.FSURL);
			}
			if (this.hasNetworkControl)
			{
				output.WriteMessage(16, regResponseFieldNames[5], this.NetworkControl);
			}
		}
		public override int GetHashCode()
		{
			int num = base.GetType().GetHashCode();
			if (this.hasBaseResponse)
			{
				num ^= this.baseResponse_.GetHashCode();
			}
			if (this.hasUin)
			{
				num ^= this.uin_.GetHashCode();
			}
			if (this.hasSessionKey)
			{
				num ^= this.sessionKey_.GetHashCode();
			}
			if (this.hasImgSid)
			{
				num ^= this.imgSid_.GetHashCode();
			}
			if (this.hasImgBuf)
			{
				num ^= this.imgBuf_.GetHashCode();
			}
			if (this.hasTicket)
			{
				num ^= this.ticket_.GetHashCode();
			}
			if (this.hasSpareUserName)
			{
				num ^= this.spareUserName_.GetHashCode();
			}
			if (this.hasOfficialUserName)
			{
				num ^= this.officialUserName_.GetHashCode();
			}
			if (this.hasOfficialNickName)
			{
				num ^= this.officialNickName_.GetHashCode();
			}
			if (this.hasQQMicroBlogUserName)
			{
				num ^= this.qQMicroBlogUserName_.GetHashCode();
			}
			if (this.hasPushMailStatus)
			{
				num ^= this.pushMailStatus_.GetHashCode();
			}
			if (this.hasSendCardBitFlag)
			{
				num ^= this.sendCardBitFlag_.GetHashCode();
			}
			if (this.hasPushMailSettingTicket)
			{
				num ^= this.pushMailSettingTicket_.GetHashCode();
			}
			if (this.hasBuiltinIPList)
			{
				num ^= this.builtinIPList_.GetHashCode();
			}
			if (this.hasFSURL)
			{
				num ^= this.fSURL_.GetHashCode();
			}
			if (this.hasNetworkControl)
			{
				num ^= this.networkControl_.GetHashCode();
			}
			return num;
		}
		public override bool Equals(object value)
		{
			RegResponse regResponse = value as RegResponse;
			return regResponse != null && (this.hasBaseResponse == regResponse.hasBaseResponse && (!this.hasBaseResponse || this.baseResponse_.Equals(regResponse.baseResponse_))) && (this.hasUin == regResponse.hasUin && (!this.hasUin || this.uin_.Equals(regResponse.uin_))) && (this.hasSessionKey == regResponse.hasSessionKey && (!this.hasSessionKey || this.sessionKey_.Equals(regResponse.sessionKey_))) && (this.hasImgSid == regResponse.hasImgSid && (!this.hasImgSid || this.imgSid_.Equals(regResponse.imgSid_))) && (this.hasImgBuf == regResponse.hasImgBuf && (!this.hasImgBuf || this.imgBuf_.Equals(regResponse.imgBuf_))) && (this.hasTicket == regResponse.hasTicket && (!this.hasTicket || this.ticket_.Equals(regResponse.ticket_))) && (this.hasSpareUserName == regResponse.hasSpareUserName && (!this.hasSpareUserName || this.spareUserName_.Equals(regResponse.spareUserName_))) && (this.hasOfficialUserName == regResponse.hasOfficialUserName && (!this.hasOfficialUserName || this.officialUserName_.Equals(regResponse.officialUserName_))) && (this.hasOfficialNickName == regResponse.hasOfficialNickName && (!this.hasOfficialNickName || this.officialNickName_.Equals(regResponse.officialNickName_))) && (this.hasQQMicroBlogUserName == regResponse.hasQQMicroBlogUserName && (!this.hasQQMicroBlogUserName || this.qQMicroBlogUserName_.Equals(regResponse.qQMicroBlogUserName_))) && (this.hasPushMailStatus == regResponse.hasPushMailStatus && (!this.hasPushMailStatus || this.pushMailStatus_.Equals(regResponse.pushMailStatus_))) && (this.hasSendCardBitFlag == regResponse.hasSendCardBitFlag && (!this.hasSendCardBitFlag || this.sendCardBitFlag_.Equals(regResponse.sendCardBitFlag_))) && (this.hasPushMailSettingTicket == regResponse.hasPushMailSettingTicket && (!this.hasPushMailSettingTicket || this.pushMailSettingTicket_.Equals(regResponse.pushMailSettingTicket_))) && (this.hasBuiltinIPList == regResponse.hasBuiltinIPList && (!this.hasBuiltinIPList || this.builtinIPList_.Equals(regResponse.builtinIPList_))) && (this.hasFSURL == regResponse.hasFSURL && (!this.hasFSURL || this.fSURL_.Equals(regResponse.fSURL_))) && (this.hasNetworkControl == regResponse.hasNetworkControl && (!this.hasNetworkControl || this.networkControl_.Equals(regResponse.networkControl_)));
		}
		public override void PrintTo(TextWriter writer)
		{
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("BaseResponse", this.hasBaseResponse, this.baseResponse_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("Uin", this.hasUin, this.uin_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("SessionKey", this.hasSessionKey, this.sessionKey_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("ImgSid", this.hasImgSid, this.imgSid_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("ImgBuf", this.hasImgBuf, this.imgBuf_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("Ticket", this.hasTicket, this.ticket_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("SpareUserName", this.hasSpareUserName, this.spareUserName_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("OfficialUserName", this.hasOfficialUserName, this.officialUserName_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("OfficialNickName", this.hasOfficialNickName, this.officialNickName_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("QQMicroBlogUserName", this.hasQQMicroBlogUserName, this.qQMicroBlogUserName_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("PushMailStatus", this.hasPushMailStatus, this.pushMailStatus_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("SendCardBitFlag", this.hasSendCardBitFlag, this.sendCardBitFlag_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("PushMailSettingTicket", this.hasPushMailSettingTicket, this.pushMailSettingTicket_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("BuiltinIPList", this.hasBuiltinIPList, this.builtinIPList_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("FSURL", this.hasFSURL, this.fSURL_, writer);
			GeneratedMessageLite<RegResponse, RegResponse.Builder>.PrintField("NetworkControl", this.hasNetworkControl, this.networkControl_, writer);
		}
		public static RegResponse ParseFrom(byte[] data)
		{
			return RegResponse.CreateBuilder().MergeFrom(data).BuildParsed();
		}
		private RegResponse MakeReadOnly()
		{
			return this;
		}
		public static RegResponse.Builder CreateBuilder()
		{
			return new RegResponse.Builder();
		}
		public override RegResponse.Builder ToBuilder()
		{
			return RegResponse.CreateBuilder(this);
		}
		public override RegResponse.Builder CreateBuilderForType()
		{
			return new RegResponse.Builder();
		}
		public static RegResponse.Builder CreateBuilder(RegResponse prototype)
		{
			return new RegResponse.Builder(prototype);
		}
		static RegResponse()
		{
			RegResponse.defaultInstance = new RegResponse().MakeReadOnly();
			RegResponse._regResponseFieldNames = new string[]
			{
				"BaseResponse",
				"BuiltinIPList",
				"FSURL",
				"ImgBuf",
				"ImgSid",
				"NetworkControl",
				"OfficialNickName",
				"OfficialUserName",
				"PushMailSettingTicket",
				"PushMailStatus",
				"QQMicroBlogUserName",
				"SendCardBitFlag",
				"SessionKey",
				"SpareUserName",
				"Ticket",
				"Uin"
			};
			RegResponse._regResponseFieldTags = new uint[]
			{
				10u,
				114u,
				122u,
				42u,
				34u,
				130u,
				74u,
				66u,
				106u,
				88u,
				82u,
				96u,
				26u,
				58u,
				50u,
				16u
			};
			object.ReferenceEquals(micromsg.Proto.RegResponse.Descriptor, null);
		}
	}
}
